/*
 * @(#)MtmWorkflowStepWorkflowStep.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.workflow.bean;

import com.dcivision.framework.bean.AbstractBaseObject;

/**
 * MtmWorkflowStepWorkflowStep.java
 * 
 * This class is the serializable bean reflecting business logic uses.
 * It represents a parent-child step relationship. Each relationship will also
 * has a group ID for merging, steps with the same group id will be merge before
 * proceed to the child steps. For steps that may have different routes/branches,
 * parent type should be used to distinguish the routing. For examples, an approval
 * step should have at least one entry with parent type equals to 
 * {@link com.dcivision.workflow.bean.WorkflowStep#PARENT_TYPE_APPROVED} and one entry
 * with parent type equals to {@link com.dcivision.workflow.bean.WorkflowStep#PARENT_TYPE_REJECTED}.
 * For loop back/route to another step relation, you may also need to specifiy the loopback
 * properties to {@link #LOOP_BACK_YES}.
 * 
 * @author Angus Shiu
 * @company DCIVision Limited
 * @creation date 05/08/2003
 * @version $Revision: 1.7 $
 */
public class MtmWorkflowStepWorkflowStep extends AbstractBaseObject {
  
  public static final String REVISION = "$Revision: 1.7 $";
  
  static final long serialVersionUID = -5443663761562536190L;
  
  private Integer parentStepID = null;
  private String parentType = null;
  private Integer groupID = null;
  private Integer childStepID = null;
  private String loopBack = null;
  private String loopBackAllBranch = "N";
  
  /** Indicates this is a loop back relation */
  public static final String LOOP_BACK_YES = "Y";
  /** Indicates this is not a loop back relation */
  public static final String LOOP_BACK_NO = "N";
  
  public MtmWorkflowStepWorkflowStep() {
    super();
  }
  /**
   * @return Returns the parentStepID.
   */
  public Integer getParentStepID() { 
    return(this.parentStepID);
  }
  /**
   * @param parentStepID The parentStepID to set.
   */
  public void setParentStepID(Integer parentStepID) { 
    this.parentStepID = parentStepID;
  }
  /**
   * @return Returns the parentType.
   */
  public String getParentType() { 
    return(this.parentType);
  }
  /**
   * @param parentType The parentType to set.
   */
  public void setParentType(String parentType) { 
    this.parentType = parentType;
  }
  /**
   * @return Returns the groupID.
   */
  public Integer getGroupID() { 
    return(this.groupID);
  }
  /**
   * @param groupID The groupID to set.
   */
  public void setGroupID(Integer groupID) { 
    this.groupID = groupID;
  }
  /**
   * @return Returns the childStepID.
   */
  public Integer getChildStepID() { 
    return(this.childStepID);
  }
  /**
   * @param childStepID The childStepID to set.
   */
  public void setChildStepID(Integer childStepID) { 
    this.childStepID = childStepID;
  }
  /**
   * @return Returns the loopBack.
   */
  public String getLoopBack() { 
    return(this.loopBack);
  }
  /**
   * @param loopBack The loopBack to set.
   */
  public void setLoopBack(String loopBack) { 
    this.loopBack = loopBack;
  }
  /**
   * @return Returns the loopBackAllBranch.
   */
  public String getLoopBackAllBranch() {
    return loopBackAllBranch;
  }
  /**
   * @param loopBackAllBranch The loopBackAllBranch to set.
   */
  public void setLoopBackAllBranch(String loopBackAllBranch) {
    this.loopBackAllBranch = loopBackAllBranch;
  }
}
